Making and storing periodic backup copies of the data stored in the storage component, e.g., the hard drive of a computing device to external data storage media is an important method of ensuring the integrity of the stored data. If the integrity of the stored data is compromised, the data can be restored from the backup copy. Large companies invest in staff, equipment, and storage facilities to regularly make backup copies of the data stored on the computing devices they own and operate. Thanks to other measures for protecting data integrity, it is not often that data needs to be restored from a backup copy. For large companies, the expense of the unused copies can be justified by the insurance they provide.
Some companies and individuals that own and operate computing devices do not have the money or inclination to regularly make backup copies of the data stored on their computing devices. Such companies and individuals are vulnerable to threats to the data integrity of their computing devices. Likewise, companies and individuals that regularly make backup copies are vulnerable to threats to the integrity of the data stored on their computing devices between when backup copies are made. What is needed is a way to reduce the impact of threats to the data integrity on a computing device without incurring either the expenditure of time and money required for regularly making and storing backup copies of the data and/or between the making and storing of backup copies. Since it is not often that data needs to be restored from a backup copy, an inexpensive way of meeting both objectives is to backup the data on the computing device immediately prior to an imminent threat to data integrity. An imminent threat to data integrity can occur two ways. One way is a threat to the data storage media, e.g., the hard drive included in the computing device. The second is a malware invasion of the computing device. The present invention is directed toward providing protection against both types of imminent threats to the integrity of data stored on a computing device.